import http from "@/utils/http";

/**
 * 会员中心-个人信息
 */
export interface MemberProfileResult {
  /**
   * 账号名称
   */
  account: string;
  /**
   * 头像
   */
  avatar: string;
  /**
   * 生日
   */
  birthday: string;
  /**
   * 省市区的名称：如山东省济南市里历下区
   */
  fullLocation: string;
  /**
   * 性别，男、女、未知
   */
  gender: Gender;
  /**
   * 用户Id
   */
  id: string;
  /**
   * 昵称
   */
  nickname: string;
  /**
   * 职业
   */
  profession: string;
}

/**
 * 性别，男、女、未知
 */
export enum Gender {
  女 = "女",
  未知 = "未知",
  男 = "男",
}

// 获取个人信息
export const getProfile = () => {
  return http<MemberProfileResult>({
    url: "/member/profile",
    method: "GET",
  });
};

/**
 *  个人信息-修改请求参数
 */
export interface UpdateMemberProfileData {
  /**
   * 生日 YYYY-MM-DD
   */
  birthday?: string;
  /**
   * 城市编码
   */
  cityCode?: string;
  /**
   * 区/县编码
   */
  countyCode?: string;
  /**
   * 性别，男、女、未知
   */
  gender?: Gender;
  /**
   * 昵称
   */
  nickname?: string;
  /**
   * 职业
   */
  profession?: string;
  /**
   * 省份编码
   */
  provinceCode?: string;
}

// 修改个人信息
export const updateProfile = (data: UpdateMemberProfileData) => {
  return http({
    url: "/member/profile",
    method: "PUT",
    data,
  });
};
